Staging Area y Commits
Teórico — Los 3 estados de un archivo en Git y cómo registrar cambios permanentemente.
01 Los 3 estados de un archivo
En Git, cada archivo de tu proyecto puede estar en uno de tres estados. Entender esto es clave para usar Git correctamente:
Modified
Has cambiado el archivo pero no lo has marcado para el próximo commit. Git sabe que cambió pero no lo incluirá.
Staged
Marcaste el archivo para que se incluya en el próximo commit. Está en la "staging area" (área de preparación).
Committed
El archivo está guardado permanentemente en el historial de Git. Es una "foto" del estado del proyecto.
02 El flujo de trabajo básico
El ciclo típico de trabajo con Git sigue estos pasos:
Ciclo: editar → stage → commit
# 1. Editas archivos (con tu editor de texto)
# → Los archivos pasan a estado "Modified"
# 2. Agregas los cambios al staging area
git add archivo.txt
# 3. Confirmas los cambios (creas un commit)
git commit -m "Descripción de qué cambió"
git add
solo de esos 2 y hacer un commit limpio. Los otros 3 seguirán como "modified".
03 git add — Preparar archivos
El comando git add mueve archivos del estado modified al estado
staged. Tiene varias formas de uso:
Formas de usar git add
# Agregar UN archivo específico
git add index.html
# Agregar VARIOS archivos
git add index.html styles.css
# Agregar TODOS los archivos modificados
git add .
# Agregar todos los archivos de una carpeta
git add src/
git add . (con punto) agrega todo lo que cambió.
Es la forma más rápida, pero ten cuidado de no incluir archivos que no quieres
(como configuraciones locales o archivos temporales). Para eso existe
.gitignore.
04 git commit — Guardar cambios
Un commit es una "fotografía" del estado de tu proyecto en un momento específico. Cada commit tiene:
- Hash único — un identificador como
a3b8d1b - Autor — quién hizo el cambio (tu nombre y email configurados)
- Fecha — cuándo se hizo
- Mensaje — descripción de qué cambió y por qué
- Contenido — los archivos que estaban en el staging area
Sintaxis de git commit
# Commit con mensaje inline (la forma más común)
git commit -m "Agrega página de inicio"
# Commit con mensaje largo (abre el editor)
git commit
# Shortcut: add + commit en un solo paso (solo archivos ya rastreados)
git commit -am "Actualiza estilos del navbar"
05 git status y git log
git log --oneline.
git diff --staged muestra los cambios que ya están en staging.
Cuestionario de evaluación
Pon a prueba lo que aprendiste sobre staging, commits y el flujo de Git.